package com.base.logistics.jdl.bean.trace;

import java.io.Serializable;

/**
 * <pre>
 * 查询物流轨迹参数对象(商家用)
 * </pre>
 * @since 2021-02-19
 */
public class TraceQueryDTO  implements Serializable {

    /**
     * 商家编码，自动添加
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String customerCode;

    /**
     * 运单号或者是取件单号
     * <pre>
     * 是否必填：是
     * </pre>
     */
    private String waybillCode;

    /**
     * 京东pin，自动添加
     * <pre>
     * 是否必填：否
     * </pre>
     */
    private String josPin;

    public TraceQueryDTO() {
    }

    public String getCustomerCode() {
        return this.customerCode;
    }

    public String getWaybillCode() {
        return this.waybillCode;
    }

    public String getJosPin() {
        return this.josPin;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public void setWaybillCode(String waybillCode) {
        this.waybillCode = waybillCode;
    }

    public void setJosPin(String josPin) {
        this.josPin = josPin;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof TraceQueryDTO)) return false;
        final TraceQueryDTO other = (TraceQueryDTO) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$customerCode = this.getCustomerCode();
        final Object other$customerCode = other.getCustomerCode();
        if (this$customerCode == null ? other$customerCode != null : !this$customerCode.equals(other$customerCode))
            return false;
        final Object this$waybillCode = this.getWaybillCode();
        final Object other$waybillCode = other.getWaybillCode();
        if (this$waybillCode == null ? other$waybillCode != null : !this$waybillCode.equals(other$waybillCode))
            return false;
        final Object this$josPin = this.getJosPin();
        final Object other$josPin = other.getJosPin();
        if (this$josPin == null ? other$josPin != null : !this$josPin.equals(other$josPin)) return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof TraceQueryDTO;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $customerCode = this.getCustomerCode();
        result = result * PRIME + ($customerCode == null ? 43 : $customerCode.hashCode());
        final Object $waybillCode = this.getWaybillCode();
        result = result * PRIME + ($waybillCode == null ? 43 : $waybillCode.hashCode());
        final Object $josPin = this.getJosPin();
        result = result * PRIME + ($josPin == null ? 43 : $josPin.hashCode());
        return result;
    }

    public String toString() {
        return "TraceQueryDTO(customerCode=" + this.getCustomerCode() + ", waybillCode=" + this.getWaybillCode() + ", josPin=" + this.getJosPin() + ")";
    }
}
